package net.maku.kyy.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.List;
import lombok.Data;
import java.io.Serializable;
import net.maku.framework.common.utils.DateUtils;
import java.time.LocalDateTime;

/**
 * 前台用户表
 *
 * @author MAKU babamu@126.com
 * <a href="https://maku.net">MAKU</a>
 */
@Data
@Schema(description = "前台用户表")
public class KyyUserVO {
	@Schema(description = "id")
	private Long id;

	@Schema(description = "昵称")
	private String nickName;

	@Schema(description = "手机号")
	private String mobile;

	@Schema(description = "账号")
	private String account;

	@Schema(description = "真实姓名")
	private String realname;

	@Schema(description = "头像")
	private String avatar;

	@Schema(description = "出生日期")
	@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
	private LocalDateTime birthday;

	@Schema(description = "性别 0：男  1：女 2：未知")
	private Integer gender;

	@Schema(description = "邮箱")
	private String email;

	@Schema(description = "微信号")
	private String wechatId;

	private String password;

	@Schema(description = "最后登录ip")
	private String lastLoginIp;

	@Schema(description = "最后登录时间")
	@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
	private LocalDateTime lastLoginTime;

	@Schema(description = "状态  0：停用   1：正常")
	private Integer status;

	/**
	 * 发布论坛权限：0：禁用 1：正常
	 */
	@Schema(description = "发布论坛权限：0：禁用 1：正常")
	private Long forumPermission;

	/**
	 * 发言权限
	 */
	@Schema(description = "发言权限：0：禁用 1:正常")
	private Long commentPermission;

	/**
	 * 发言封禁的原因
	 */
	private String commentBanReason;

	/**
	 * 发言封禁剩余时间
	 */
	private String silenceEndTime;

	@Schema(description = "删除标识 0：正常 1：已删除 ")
	private Integer deleted;

	@Schema(description = "创建者")
	private Long creator;



	@Schema(description = "创建时间")
	@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
	private LocalDateTime createTime;

	@Schema(description = "更新者")
	private Long updater;

	@Schema(description = "更新时间")
	@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
	private LocalDateTime updateTime;

}